
class Fridge():
	#定义类属性，其实类属性相当于类的静态属性
	# 所以书中例子用类属性来定义冰箱编号和装入的货物量是不合适的
	No = 0	#当前冰箱编号
	Count = 0	#当前装入货物数量

	def __init__(self):
		print('这是构造方法')
		Fridge.No += 1
		print('当前冰箱编号是：%d'%(Fridge.No))

	def open(self):
		print('打开%d号冰箱门'%(Fridge.No))

	def pack(self, goods):
		self.goods = goods
		Fridge.Count += 1
		print('将%s货物装如%d号冰箱，当前冰箱货物数量：%d'%(self.goods, Fridge.No, Fridge.Count))

	def close(self):
		print('关闭%d号冰箱门'%(Fridge.No))


class Double_Door_Fridge(Fridge):
	def __init__(self):
		super().__init__()
		print('这是子类的构造方法')


if __name__=='__main__':
	fridge1 = Fridge()
	fridge1.open()
	fridge1.pack("大象")
	fridge1.close()
	print('当前fridge1的编号：%d和货物数量：%d'%(fridge1.No, fridge1.Count))
	print('当前fridge1的货物：%s'%(fridge1.goods))

	fridge2 = Fridge()
	fridge2.open()
	fridge2.pack("小象")
	fridge2.close()
	print('当前fridge2的编号：%d和货物数量：%d'%(fridge2.No, fridge2.Count))
	print('当前fridge2的货物：%s'%(fridge2.goods))

	print('再次打印fridge1的编号：%d和货物数量：%d'%(fridge1.No, fridge1.Count))
	print('再次打印Fradge类的编号：%d和货物数量：%d'%(Fridge.No, Fridge.Count))


	fridge3 = Double_Door_Fridge()
	fridge3.open()
	fridge3.pack("大大象")
	fridge3.close()
	print('当前fridge3的编号：%d和货物数量：%d'%(fridge3.No, fridge3.Count))
	print('当前fridge3的货物：%s'%(fridge3.goods))
